<!DOCTYPE html>
<?php
class 定数
{
    const 作業ステップリクエストキー = 'step';
    const PHP稼動確認ステップ ='php';
    const パッケージダウンロードステップ ='download';
    const パッケージ解凍ステップ = 'unzip';
}
function パッケージダウンロード($パッケージURL, $パッケージ名)
{
    $ch = curl_init($パッケージURL);
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    $c = curl_exec ( $ch );
    curl_close($ch);
    $fp = fopen(dirname(__FILE__).'/'.$パッケージ名.'.zip', 'w');
    fwrite($fp, $c);
    fclose($fp);
}
function パッケージ解凍($パッケージ名, $解凍先パス= '')
{
    $zip_path = dirname(__FILE__) . '/' . $パッケージ名.'.zip';
    $zip = new ZipArchive();
    if( $zip->open($zip_path) === true ){
        $状態 = $zip->extractTo($解凍先パス);
        if ($状態 == FALSE) {
            return FALSE;
        }
    } else {
        return FALSE;
    }
    return TRUE;
}
/**************************************************************/
define("パッケージURL", 'http://minder.minibird.jp/gcmemo.zip');
define("パッケージ名","gcmemo");
define("ZendライブラリURL", 'http://minder.minibird.jp/Zend.zip');
define("zendパッケージ名",'Zend');
/**************************************************************/
$phpCondition = "ご利用のサーバーでPHPが稼動していることを確認しました。";
if (!extension_loaded('zip') || !extension_loaded('curl') || !extension_loaded('openssl') || !class_exists('ZipArchive')){
	$phpCondition .= "しかしながら、プログラムに必要なライブラリが不足しているのでインストールできません。";
} else {
	if (empty($_REQUEST[定数::作業ステップリクエストキー])) {
		$_REQUEST[定数::作業ステップリクエストキー] = 定数::PHP稼動確認ステップ;
	} else {
		switch ($_REQUEST[定数::作業ステップリクエストキー]) {
			case 定数::パッケージダウンロードステップ:
				パッケージダウンロード(パッケージURL, パッケージ名);
				パッケージダウンロード(ZendライブラリURL, zendパッケージ名);
				break;
			case 定数::パッケージ解凍ステップ:
				パッケージ解凍(パッケージ名, dirname(__FILE__));
				パッケージ解凍(zendパッケージ名, dirname(__FILE__) . '/library');
				header('location: ' . パッケージ名 . '_setup.php');
				break;
		}
	}
}
?>
<html>
<head>
<meta charset="UTF-8">
<title>インストールチェック</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
    switch ("<?php echo $_REQUEST[定数::作業ステップリクエストキー];?>") {
        case "<?php echo 定数::PHP稼動確認ステップ;?>":
            $("#<?php echo 定数::パッケージダウンロードステップ;?>").css("display","block");
            location.href = '?<?php echo 定数::作業ステップリクエストキー?>=<?php echo 定数::パッケージダウンロードステップ;?>';
            break;
        case "<?php echo 定数::パッケージダウンロードステップ;?>":
            $("#<?php echo 定数::パッケージ解凍ステップ?>").css("display", "block");
            location.href = '?<?php echo 定数::作業ステップリクエストキー;?>=<?php echo 定数::パッケージ解凍ステップ;?>';
            break;
    }
});
</script>
</head>
<body>
<div>
<div><?php echo $phpCondition;?></div>
<div id="<?php echo 定数::パッケージダウンロードステップ;?>" style="display: none">
    インストールパッケージファイルのダウンロード中。。。
</div>
<div id="<?php echo 定数::パッケージ解凍ステップ;?>" style="display: none">
    インストールパッケージファイルの解凍中。。。
</div>
<div style="display: <?php echo 'none';?>">
ご利用のサーバーではPHPが稼動していないのでプログラムをインストールすることはできません。
</div>
</div>
</body>
</html>